The recent revolution in technologies for dynamically sharing virtualizations of hardware resources, software, and information storage across networks has increased the reliability, scalability, and cost efficiency of computing. More specifically, the ability to provide on demand virtual computing resources and storage resources through the advent of virtualization has enabled consumers of processing resources and storage resources to flexibly structure their computing and storage costs in response to immediately perceived computing and storage needs.
Virtualized computing environments are frequently supported by block-based storage, object-based storage, database services, and/or other virtual storage services. In some situations, virtual storage resources may be able to interact with various computing resources through a series of standardized storage calls. The standardized storage calls may render the computing resources agnostic to structural and functional details of the physical storage devices that implement the virtual storage resources.
In some systems, such virtualized storage resources may be implemented using remote physical storage devices that are connected over a network to computing resources for which they provide storage availability. In such systems, transaction volumes and transaction latencies for transactions between the computing resources and virtualized storage resources may be limited due to delays and limitations associated with transmitting data between the computing resources and the remote storage devices, or may be limited for other reasons. In other systems, physical storage devices and physical computing devices may be located local to one another and may be offered to clients as integrated compute and storage virtualizations. In such arrangements, capacities of the local physical storage devices may be reserved for use by computing virtualizations implemented using associated local computing devices. In such arrangements, a significant portion of the storage capacities of the local storage devices may be unutilized to store data when exclusively reserved for one or more local compute instances.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that the embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include”, “including”, and “includes” mean including, but not limited to.